package com.macro.mall.portal.service;

import com.macro.mall.mgb.model.Product;
import com.macro.mall.portal.domain.PmsPortalProductDetail;
import com.macro.mall.portal.domain.PmsProductCategoryNode;

import java.util.List;

/**
 * @author wangwang
 * @version 1.0
 * @description 前台商品管理
 * @date 2025/7/28 20:07
 */
public interface PortalProductService {

    /**
     * 以树形结构获取所有商品分类
     * @return
     */
    List<PmsProductCategoryNode> categoryTreeList();

    /**
     * 获取前台商品详情
     * @param productId
     * @return
     */
    PmsPortalProductDetail detail(Long productId);

    /**
     * 综合搜索、筛选、排序
     * @param keyword
     * @param brandId
     * @param productCategoryId
     * @param pageNum
     * @param pageSize
     * @param sort
     * @return
     */
    List<Product> search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize, Integer sort);
}
